home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 4: GNU Archives / Linux Cubed Series 4 - GNU Archives.iso / gnu / binutils.7 / binutils / binutils-2.7 / bfd / doc / proto.str < prev   
Encoding:
Text File  |  1996-07-04  |  2.3 KB  |  136 lines

  1.  
  2. : SYNOPSIS
  3.     skip_past_newline
  4.     get_stuff_in_command    
  5.     paramstuff
  6.     indent
  7.     maybecatstr
  8. ;
  9.  
  10. : ignore
  11.     skip_past_newline 
  12.     get_stuff_in_command
  13.     outputdots
  14.     maybecatstr
  15.     ;
  16.  
  17. : CODE_FRAGMENT
  18.     ignore ;
  19.  
  20. : external
  21.     0 internalmode ignore ;
  22.  
  23. : internal 
  24.     1 internalmode ignore ;
  25.  
  26. - input stack { a b } output b if internal, a if external
  27. : ifinternal
  28.     "" swap 1 internalmode maybecatstr
  29.     swap
  30.     "" swap 0 internalmode maybecatstr
  31.     catstr
  32.     ;
  33.  
  34. - Put note in output string, regardless of internal mode.
  35. : COMMENT
  36.     skip_past_newline
  37.     get_stuff_in_command
  38.     translatecomments
  39.     catstr
  40.     ;
  41.  
  42. - SENUM    enum-type-name
  43. - ENUM     enum-name
  44. - ENUMX    addl-enum-name
  45. - ENUMDOC  doc for preceding enums
  46. - ENDSENUM max-enum-name
  47.  
  48. : make_enum_header
  49.     dup
  50.     "enum " swap catstr
  51.     " {\n" catstr
  52.     swap "  _dummy_first_" swap catstr catstr
  53.     ",\n" catstr
  54.     ;
  55. : make_string_table_header
  56.     dup
  57.     "#ifdef _BFD_MAKE_TABLE_" swap catstr swap
  58.     "\n\nstatic const char *const " swap catstr catstr
  59.     "_names[] = { \"@@uninitialized@@\",\n" catstr
  60.     ;
  61. : SENUM
  62.     skip_past_newline
  63.     copy_past_newline
  64.     remchar
  65.     dup
  66.     make_enum_header
  67.     swap
  68.     make_string_table_header
  69.     ifinternal
  70.     catstr
  71.     get_stuff_in_command catstr
  72.     translatecomments ;
  73. : ENDSENUM
  74.     skip_past_newline
  75.     copy_past_newline strip_trailing_newlines
  76.     dup
  77.     "  " swap catstr " };\n" catstr    swap
  78.     " \"@@overflow: " swap catstr "@@\",\n};\n#endif\n\n" catstr
  79.     ifinternal
  80.     catstr
  81.     ;
  82. : make_enumerator
  83.     "  " swap catstr
  84.     ",\n" catstr
  85.     ;
  86. : make_enumerator_string
  87.     "  \"" swap catstr
  88.     "\",\n" catstr
  89.     ;
  90. : ENUM
  91.     skip_past_newline
  92.     copy_past_newline
  93.     remchar
  94.     dup
  95.     make_enumerator
  96.     swap
  97.     make_enumerator_string
  98.     ifinternal
  99.     ;
  100. : ENUMX ENUM catstr ;
  101. : ENUMEQ
  102.     skip_past_newline
  103.     "#define "
  104.     copy_past_newline remchar
  105.     catstr
  106.     " "
  107.     catstr
  108.     copy_past_newline
  109.     catstr
  110.     "" swap 0 internalmode maybecatstr
  111.     ;
  112. : ENUMEQX ENUMEQ catstr ;
  113. : ENUMDOC
  114.     skip_past_newline
  115.     get_stuff_in_command
  116.     strip_trailing_newlines
  117.     "\n{* " swap catstr " *}\n" catstr
  118.     translatecomments
  119.     - discard it if we're doing internal mode
  120.     "" swap 0 internalmode maybecatstr
  121.     swap
  122.     catstr catstr
  123.     ;
  124. : ENDDD external ;
  125. : SECTION ignore ;
  126. : SUBSECTION ignore ;
  127. : SUBSUBSECTION ignore ;
  128. : INTERNAL_DEFINITION internal ;
  129. : DESCRIPTION ignore ;
  130. : FUNCTION external ;
  131. : RETURNS ignore ;
  132. : TYPEDEF external ;
  133. : INTERNAL_FUNCTION internal ;
  134. : INTERNAL internal ;
  135. : INODE ignore ;
  136.